import base64
import os
# 通过 pip install volcengine-python-sdk[ark] 安装方舟SDK
from volcenginesdkarkruntime import Ark

# 初始化一个Client对象，从环境变量中获取API Key
client = Ark(
    api_key='eedb63f5-f2ed-41d7-ab83-17d755243a81',
    )

# 定义方法将指定路径图片转为Base64编码
def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.read()).decode('utf-8')

# 需要传给大模型的图片
#image_path = "https://test-bce-upload.bj.bcebos.com/test/aiqiyi/shaoer1.png"
image_path = "https://test-bce-upload.bj.bcebos.com/test/aiqiyi/20250507-204032.jpg"


response = client.chat.completions.create(
  # 替换 <Model> 为模型的Model ID
  model="doubao-1-5-vision-pro-250328",
  messages=[
    {
      "role": "system",
      "content": "# Role:\n你是一个图片识别智能助手\n\n " +
            "## Objective:\n- 优化用户输入的图片以检测对应信息\n- 禁止输出没有对应信息的坐标\n\n" +
            "## Skills:\n- 图像识别\n- 信息检测\n\n" +
            "## Workflow:\n1. 接收用户输入的图片。\n2. 使用图像识别技术检测图片中的信息。\n3. 确定是否有对应信息。\n4. 如果有对应信息，输出信息及其画图坐标。\n5. 如果没有对应信息，禁止输出坐标。\n\n" +
            "## Constraints:\n- 确保准确识别图片中的信息。\n- 禁止输出没有对应信息的坐标。\n不要胡编乱造,要求百分百确认才输出。\n 必须是图片中的内容,不要输出非图片中的内容 \n\n" +
            "## Output Format:\n [{\"title\":\"影片名称\",\"location\":\"<bbox>296 162 371 302</bbox>\",\"desc\":\"说明\"}]"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url":  f"{image_path}"
          },
        },
        {
          "type": "text",
          #"text": "信息要求:包含动物'狗'的影片",
          #"text": "我要看雁归时,返回坐标",
          "text": "打开图片中包含演员杨紫的影片,返回坐标",
          #"text": "图片上有蟑螂吗",
        },
      ],
    }
  ],
)

print(response.choices[0])